home *** CD-ROM | disk | FTP | other *** search
/ Aminet 24 / Aminet 24 (1998)(GTI - Schatztruhe)[!][Apr 1998].iso / Aminet / biz / dbase / Aminet2DB.lha / Aminet2CSV.rexx next >
OS/2 REXX Batch file  |  1998-01-28  |  1KB  |  38 lines

  1. /*
  2.  * Aminet2CSV.rexx
  3.  * Converts Aminet RECENT file to comma-separated values.
  4.  * $VER: Aminet2CSV.rexx 1.0 (22.11.97)
  5.  * By Deok-Min Yun
  6.  * ProCalc had a problem with missing entries. Need to enter an empty space.
  7.  */
  8.  
  9. OPTIONS RESULTS
  10. PARSE ARG filename
  11.  
  12. IF OPEN('DataFile', filename, 'R') = 1 THEN DO
  13.   IF OPEN('SaveFile', filename||'.CSV', 'W') = 1 THEN DO
  14.     buffer = 'File,Dir,Size,Description'
  15.     CALL WRITELN('SaveFile', buffer)
  16.     DO FOREVER
  17.       temp = READLN('DataFile')
  18.       IF EOF('DataFile') THEN BREAK
  19.       e_name = STRIP(LEFT(temp, 18))
  20.       e_middle = SUBSTR(temp, 20, 15)
  21.       PARSE VAR e_middle e_dir e_size
  22.       e_size = STRIP(e_size)
  23.       e_comment = TRANSLATE(SUBSTR(temp, 36), "'", '"')
  24.       IF INDEX(e_name, ".") ~= 0 & INDEX(e_dir, "/") ~= 0 &,
  25.         (INDEX(e_size, "K") ~= 0 | INDEX(e_size, "M") ~= 0) THEN DO
  26.         IF INDEX(e_name, ",") ~= 0 THEN e_name = '"'e_name'"'
  27.         IF INDEX(e_comment, ",") ~= 0 THEN e_comment = '"'e_comment'"'
  28.         buffer = e_name','e_dir','e_size','e_comment
  29.         CALL WRITELN('SaveFile', buffer)
  30.       END
  31.     END
  32.     CALL CLOSE('SaveFile')
  33.   END
  34.   ELSE SAY "Couldn't create a new file."
  35.   CALL CLOSE('DataFile')
  36. END
  37. ELSE SAY "Couldn't open original file."
  38.